/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.uniceub.fsw.talentos.bo;

import br.uniceub.fsw.arquitetura.servico.exception.NegocioException;
import br.uniceub.fsw.talentos.dao.CargoDAO;
import br.uniceub.fsw.talentos.vo.CargoVO;

/**
 *
 * @author Marcelo Moraes Lima
 */
public class CargoBO {

    CargoDAO cargoDAO = new CargoDAO();

    /**
     * Valida se já existe um registro do Talento no Banco de Dados como verificação para inserção.
     *
     * @param talento talento a ser verificado.
     * @throws br.uniceub.fsw.arquitetura.servico.exception.RegraNegocioException caso o Talento
     * informado não possua nome para a verificação ou já exista um Talento com o mesmo nome no banco de dados.
     */
    public void validarVOUnico(CargoVO cargo) throws NegocioException {

        if(cargo.getNoCargo() == null || cargo.getNoCargo().toString().isEmpty())
            throw new NegocioException("Nome do cargo não foi informado");

        CargoVO cargoExemplo = new CargoVO();
        cargoExemplo.setNoCargo(cargo.getNoCargo());

        if(!cargoDAO.consultarPorExemplo(cargoExemplo).isEmpty())
            throw new NegocioException("Já existe uma cargo de nome " + cargo.getNoCargo() +
                " na base de dados");
      
    }

    public void validarAlterarVOUnico(CargoVO cargo) throws NegocioException {

        if(cargo.getNoCargo() == null || cargo.getNoCargo().isEmpty())
            throw new NegocioException("Nome do cargo não foi informado");


    }

}
